1. Field of the Invention
The present invention relates to power management techniques for computer systems. More specifically, the present invention relates to electronic circuits, processes, and software that facilitate switching between graphics processing units for power management purposes.
2. Related Art
Power management is already critically important for many electronic devices. For example, portable devices such as laptop computers (notebook PCs), cellular telephones, and personal digital assistants need to conserve power in order to operate for any length of time on battery power. Power management is also important for computer systems that directly or indirectly operate on A/C power to meet strict power-usage requirements for ENERGY STAR qualification.
At the same time, many of these electronic devices are beginning to incorporate high-resolution, high-power graphics technology. Rapid developments in this area have led to significant advances in 2D and 3D graphics technology that provides users with increasingly sophisticated visual experiences in everything from graphical user interfaces to realistic gaming environments. Underlying many of these improvements is the development of dedicated graphics-rendering devices, which are also referred to as “graphics processing units” (GPUs). A typical GPU has a highly parallel structure that efficiently manipulates graphical objects by rapidly performing a series of primitive operations and displaying the resulting images on graphical displays.
Unfortunately, there are costs associated with these increased graphics capabilities. In particular, these capabilities can significantly increase power consumption. As a consequence, many computer systems and portable devices devote a significant amount of their power to support these GPUs, which decreases battery life and causes heat dissipation problems.
Furthermore, existing approaches to managing such power consumption issues are often inadequate. For example, many devices are configured to save power by entering a power saving mode of operation (which is also known as “sleep mode” or “stand-by mode”) when they are not being used. During sleep mode, unnecessary components (such as the display and disk drive) are powered down to a low-power state. When a power-up or wake-up command is received, the device returns to its former operating status. Unfortunately, many existing GPUs are not configured to conserve power by transitioning to such a low-power mode of operation during “idle” periods. And even when configured to their lowest power state, other GPUs continue to consume significant amounts of power. As a consequence, even when a user is reading a static document on the display the active GPU may be maintained in a high-power state.
To address this problem, one existing laptop computer allows a user to statically configure the computer (by flipping a switch) to select a given GPU prior to booting the device. While this approach allows the user to choose a low-power, low-performance GPU or a high-performance GPU, the user must be able to predict graphical processing needs in advance. Furthermore, in order to change the configuration, the user must reboot the computer. Hence, this technique is unable to accommodate rapid changes in graphical processing needs or power consumption requirements that can occur during system operation.
Hence, what is needed is a GPU power management technique that overcomes the problems listed above.